package com.yunc.modules.quartz.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yunc.base.utils.ScheduleConstant;
import lombok.Data;

import java.io.Serializable;

/**
 * 任务
 * @author congcong tao
 * @create 2018/11/3 下午9:26
 */
@TableName("sys_job")
@Data
public class SysJob implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 任务ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    private String className;

    /**
     * 任务名称
     */
    private String jobName;

    /**
     * 任务组名
     */
    private String jobGroup;

    /**
     * 任务方法
     */
    private String methodName;

    /**
     * 方法参数
     */
    private String params;

    /**
     * cron执行表达式
     */
    private String cronExpression;

    /**
     * 状态（0正常 1暂停）
     */
    private String status;

    /**
     * 是否并发执行（0允许 1禁止）
     */
    private String concurrent;

    /**
     * cron计划策略
     * 默认为0
     * 1=立即触发执行2=触发一次执行3=不触发立即执行
     */
    private String misfirePolicy = ScheduleConstant.MISFIRE_DEFAULT;
}
